package com.cool4j.generator.util

import com.cool4j.view.Activator
import freemarker.template.Configuration
import freemarker.template.DefaultObjectWrapper
import org.eclipse.core.runtime.FileLocator
import org.eclipse.core.runtime.Platform

/**
 * 模板操作工具类
 *
 * @author Frank create on 16/1/8 15:55
 */
class TemplateUtil {

    /**
     * 获取模板配置对象
     *
     * @return - 模板配置对象
     * @throws IOException - IO 异常
     */
    Configuration templateConfig() throws IOException {
        def bundle = Platform.getBundle(Activator.PLUGIN_ID)
        def templateUrl = bundle.getEntry("/template")
        def templateFolder = FileLocator.toFileURL(templateUrl.getPath())

        /** 创建一个合适的 configuration */
        def config = new Configuration()
        // 设置模板加载方式
        config.setDirectoryForTemplateLoading(new File(templateFolder))
        //指定模板如何查看数据类型
        config.setObjectWrapper(new DefaultObjectWrapper())

        return config
    }

}
